注意:在平台上创建镜像,常有失败,常见原因如下:

  1. 引用docker hub上的镜像,尤其是大镜像,下载需要时间,也有概率出错。平台限一次编译在30分钟内完成,超时将失败,对于编译失败的镜像,并不会多次执行。
  2. 引用私有镜像
  3. dockerfile中包含大量的安装命令,如从github拉取代码,常由于github不可达而失败
  4. 语法错误
  5. 由于平台只能上传dockerfile,所以ADDCOPY命令不可用

30分钟是所有过程的总限时,拉取基础镜像、运行Dockerfile中的其他命令、推送到内网的仓库,要求在30分钟完成。同样的编译过程,再次提交,假如上一次的缓存未被清理(docker自带的机制),是可能能接着进行的。

有两种比较推荐的:

  • 引用平台现有的镜像(在任务详情里可以找到具体的信息,格式如10.11.3.8:5000/user-images/xxxx),然后需要安装的软件和包,都通过镜像站点完成。这样可以减少拉取镜像、获取软件包失败的可能。尤其是你已经在平台有一个镜像了,想进行小幅修改的时候。
  • 自己编译好后,推送到国内站点(如阿里云),然后在dockerfile中直接FROM。注意,如果你的镜像很大,没及时拉取完成,也会导致镜像生成失败。

=====分割线=====

当用户对深度学习环境、开发库有特殊需求时,可自定义镜像。

最多支持每个用户维护三个自定义镜像。在创建训练任务时,系统会根据编程语言和算法框架,优先推荐用户的自定义镜像。镜像管理页面如下图所示,用户可以进行新建镜像、删除、查看等操作。

新建镜像

BitaHub是通过上传Dockerfile文件,在服务器中编译镜像的方式新建镜像,在新建镜像之前需编写Dockerfile文件,文件需符合Dockerfile编码规范。点击 新建镜像 按钮进入新建镜像页面,填写必要的参数、上传Dockerfile文件,然后提交创建。当镜像处于生成中时,列表将显示“生成中”,生成完成后会显示该镜像的地址,生成的镜像将存储在平台的镜像仓库中。

参数填写说明:

  1. 镜像名称

    必填项。
    用于标识镜像的唯一ID,长度要求为1~50个字符(含),支持字母、数字及标点符号,名称不能重复。

  2. 编程语言和算法框架

    必填项。
    选择该镜像的编程语言和算法框架信息。在创建训练任务时,系统会根据编程语言和算法框架,优先列出用户的自定义镜像。

  3. 上传Dockerfile

    必填项。
    Dockerfile文件需符合编码规范。建议在本地环境进行编译测试,确保Dockerfile没问题后再提交。只能上传一个文件。

  4. 镜像简介

    非必填项。
    描述该镜像的作用,最多不能超过10000个字符(含)。

results matching ""

    No results matching ""